package org.simpleframework.singleton;

/**
 * 枚举类：持有data
 * 关注枚举类型单例模式：
 * 1.序列化机制：天然的可序列化机制，保证不会多次实例化
 * 2.反射攻击
 * 反编译后：
 *  1.枚举类的实例，编译器会自动加上静态static，并且在类加载的时候，就完成了静态变量的初始化，所以是线程安全的
 *  2.天然的私有构造器，无需手动定义
 *  3.enum类会编译器定义为final类
 */
public enum EnumInstance {
    INSTANCE;
    private Object data;


    public static EnumInstance getInstance(){
        return INSTANCE;
    }

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }
}
